# 作者：石吴震
# 2025年01月09日22时25分09秒
# 474160957@qq.com

import re

def use_greedy():
    s = "This is a number 234-235-22-423"
    ret = re.match(r".+(\d+-\d+-\d+-\d+)", s)  # 贪婪模式，.+可以匹配到23(在.+后加上?，变成非贪婪模式)
    print(ret.group(1))
    print(re.match(r"aa(\d+)", "aa2343ddd").group(1))

    print(re.match(r"aa(\d+?)", "aa2343ddd").group(1))

    print(re.match(r"aa(\d+)ddd", "aa2343ddd").group(1))

    print(re.match(r"aa(\d+?)ddd", "aa2343ddd").group(1))  # 非贪婪模式，但（）后是ddd，所以匹配到2343

def use_r():
    """
    r的作用, 原生字串
    :return:
    """
    mm = "c:\\a\\b\\c"
    print(mm)
    print(re.match(r"c:\\", mm).group())


def use_option():
    """
    正则的选项
    :return:
    """
    print(re.match(r'\w*','abc函',flags=re.A).group()) #re.A使\w不匹配中文字符
    print(re.match(r'a*', 'aA',flags=re.I).group()) #re.I使a不区分大小写
    print(re.match(r'.*','abc\ndef',flags=re.S).group()) #re.S使.匹配换行符

if __name__ == '__main__':
    use_greedy()
    use_r()
    use_option()